/*
 * Copyright 2015 the SiChuan MiaoQu Technology Co., Ltd.
 *
 * 四川妙趣科技有限公司    http://www.letoo.com
 *
 * Create Date :  2015/12/21
 */

package com.letoo.sso.core.service;

import com.letoo.sso.common.domain.Result;
import com.letoo.sso.dataaccess.datasource.DataSource;
import com.letoo.sso.dataaccess.domain.dbo.AppBaseConfigDO;

/**
 * 配置信息服务接口 邓杰
 */
public interface AppBaseConfigService extends BaseService<AppBaseConfigDO> {

    /**
     *
     * 根据APPID查询一个APP需要传输给客户端的所有配置信息
     * 
     * @author 邓杰
     * @param appId
     *            appId
     */
    @DataSource(value = "slave")
    public Result queryAppConfigByAppId(int appId);

    /**
     * 初始化我们APP里面的配置信息并且缓存到cache中。
     * 
     * @param appId
     */
    @DataSource(value = "master")
    public void initAppBaseConfig(int appId);

    /**
     * 根据appId和configKey查询value。通过缓存查询
     * 
     * @param appId
     * @param configKey
     * @return
     */
    @DataSource(value = "master")
    public String getAppBaseConfig(final int appId, final String configKey);

    /**
     * 查询APP的七牛简单上传token.该配置接口必须进行鉴权操作。 该接口需要进行权限校验。
     * 
     * @return 封装了result的token信息。
     */
    @DataSource(value = "master")
    public Result getUploadToken();

}
